Base ***** The Base is where the main() for the module is found. All the other files are included from here and the Base is responsible for creation of Miro Servers and Clients, Consumers and Event Handlers, ACE Reactors, along with all the other objects needed by the module. The Base runs in a loop where it handles events until it is terminated. The Base is a local object based on the IDL interface. (see drdcMiro/examples/exampleC/exampleCBase.cpp) Consumer ********** The Consumer object processes all incoming messages (requests, etc.). These may be messages coming from an Event Channel or from an ACE Reactor. It contains the heart of the overall module, and is where the the module responds to incoming events. (see drdcMiro/examples/exampleC/exampleCConsumer.cpp) Event Channel = If the Consumer is a StructuredPushConsumer object then events are delivered from other processes. ACE Reactor = If the consumer is a DevConsumer object then the events are delivered from a hardware device. Usually the consumer will dispatch the received message using its implementation. Implementation **************** It creates events on the event channel (by getting information from the Consumer & integrating it using the IDL Interface) It responds to polled mode requests (the client-server pattern)